import instance from "@/util/axios.js"
/**
 * 登录
 * @param {Object} data  adminId : "学工号", loginPwd: "密码"
 * @returns token
 */
export const login = async (data) =>
    await instance.post("/api/admin/login", data)

/**
 * 获取管理员的个人信息
 * @returns 管理员的个人信息
 */
export const getInfo = async () =>
    await instance.get("/api/admin/Info")

/**
 * 获取全部管理员信息
 * @param {number} 管理员权限
 * 
 */
export const getAdmin = async (authentication) =>
    await instance.get("/api/super/getAdmin", {
        params: {
            authentication
        }
    })
/**
 * 注册
 * @param {string} adminId "学工号",
 * @param {string} loginPwd "密码",
 * @param {Object} avatar  "头像"
 * @param {string} phone  "手机号",
 * @param {string} Nickname  "姓名",
 * @param {number} authentication  "0"  身份 0为超级管理员 1为管理员
 */
export const addAdmin = async (data) =>
    await instance.post("/api/super/addAdmin", data, {
        headers: {
            'Content-Type': `multipart/form-data;`,
        }
    })
/**
 * 修改宿舍楼管理员
 * @param {number} dormitoryId "宿舍楼id",
 * @param {number} oldAdminId "旧管理员id",
 * @param {number} newAdminId "新管理员id"
 */
export const updateDAdmin = async (data) =>
    await instance.put("/api/super/updateDAdmin", data)
/**
 * 添加宿舍楼管理员
 * @param {number} dormitoryId "宿舍楼id"
 * @param {number} adminInfoId "管理员id",
 */
export const allAdmin = async ({
        dormitoryId,
        adminInfoId
    }) =>
    await instance.put("/api/super/allAdmin", {
        dormitoryId,
        adminInfoId
    })
/**
 * 退出宿舍楼管理员
 * @param {number} dormitoryId 宿舍楼id
 */
export const quitDormitory = async (dormitoryId) =>
    await instance.put("/api/super/quitDormitory", {
        dormitoryId
    })

/**
 * 重置管理员密码
 * @param {string} adminId 学工号
 * @param {string} phone 手机号
 * @param {string} nickname 姓名,
 * @param {string} newPwd 新密码,
 */
export const resetting = async ({
        adminId,
        phone,
        nickname,
        newPwd
    }) =>
    await instance.put("/api/super/resetting", {
        adminId,
        phone,
        nickname,
        newPwd
    })
/**
 * 删除管理员
 * @param {number} id 管理员id
 */
export const deladmin = async (id) =>
    await instance.delete(`/api/super/deladmin/${id}`)

/**
 * 修改密码
 * @param {string} newPwd 新密码
 * @param {string} oldPwd 旧密码
 * @param {string} confirmPwd 确认密码
 */
export const updataLoginPwd = async ({
        newPwd,
        oldPwd,
        confirmPwd
    }) =>
    await instance.put("/api/admin/updataLoginPwd", {
        newPwd,
        oldPwd,
        confirmPwd
    })

/**
 * 修改头像
 */

export const updateAvatar = async (data) => {
    console.log(data.newAvatar);
    return await instance.put("/api/admin/updateAvatar", data, {
        headers: {
            'Content-Type': `multipart/form-data;`,
        }
    })
}